// components/removeList/index.js
const app = getApp()
const db = wx.cloud.database()
const _ = db.command
Component({
  //组件的生命周期
  lifetimes: {
    attached(){
      //在组件实例进入页面节点时执行
      console.log(111)
      db.collection('news').doc(this.properties.messageId).field({
        nickName: true,
        avater: true
      }).get().then((res)=>{
        console.log(res)
        this.setData({
          messageList: res.data
        })
      })
    },
    // detached(){
      // 在组件实例被移出时
      // this.setData({
        // messageList :[]
      // })
    // }
  },

  /**
   * 组件的属性列表
   */
  properties: {
    messageId:String
  },

  /**
   * 组件的初始数据
   */
  data: {
    messageList: []
  },

  /**
   * 组件的方法列表
   */
  methods: {
    //跳转详情页
    onDetail(){
      wx.navigateTo({
        url: '/pages/detail/detail?id=' + this.data.messageList._id,
      })
    },

    //删除添加信息
    deletMessage(){
      wx.showModal({
        title: '提示信息',
        content: '删除信息？',
        confirmText: '删除',
        success:(res)=>{
          // console.log(res)
          if(res.confirm){
            //用户点击删除
            this.delet()
          }else if(res.cancel){
            //用户点击取消
          }
        }
      })
    },

    //同意添加信息
    addFriend(){
      wx.showModal({
        title: '提示信息',
        content: '申请好友',
        confirmText: '同意',
        success:(res)=>{
          if(res.confirm){
            //用户点击同意
            //对自己的数据库进行更新操作
            db.collection('news').doc(app.userInfo._id).update({
              data:{
                friendList: _.unshift(this.data.messageId)
              }
            }).then((res)=>{
              wx.showToast({
                title: '添加成功',
              })
            })
            //对别人的数据库进行更新操作
            wx.cloud.callFunction({
              name: 'update',
              data:{
                collection: 'news',
                doc: this.data.messageId,
                data: `{friendList: _.unshift('${app.userInfo._id}')}`
              }
            }).then((res)=>{
              this.delet()
            })
          }else if(res.cancel){
            //用户点击取消
          }
                 
        }
      })
    },

    //复用删除当前消息函数
    delet(){
      db.collection('message').where({
        userId : app.userInfo._id
      }).get().then((res)=>{
        // console.log(res)
        let list = res.data[0].list
        list = list.filter((val,i)=>{
          return val !=this.data.messageId
        })
        console.log(list)
        wx.cloud.callFunction({
          name: 'update',
          data:{
            collection: 'message',
            where: {
              userId : app.userInfo._id
            },  
            data:{
              list
            }
        }
        }).then((res)=>{
          console.log(res)
          this.triggerEvent('deletList',{list})
        })
      })
    }
  }
})
